package com.aterrizar.persistencia.servicios;

import java.util.List;

import org.hibernate.Criteria;

import com.aterrizar.dominio.reservacion.viajes.Vuelo;
import com.aterrizar.persistencia.daos.SessionManager;
import com.aterrizar.persistencia.filtros.Filtrar;

public class ConFiltro implements Operation<List<Vuelo>> {
	
	private Filtrar filtro;
	
	public ConFiltro(Filtrar f){
		this.filtro = f;		
	}

	@SuppressWarnings("unchecked")
	public List<Vuelo> execute() {
		Criteria criteria = SessionManager.getSession().createCriteria(Vuelo.class);
		this.filtro.crearAlias(criteria);
		this.filtro.crearCriterion(criteria);
		return criteria.list();
	}

}
